package com.anti.modular.sys.app.service;

import cn.hutool.core.lang.Dict;
import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;
import com.anti.modular.sys.app.entity.SysApp;
import com.anti.modular.sys.app.param.SysAppParam;

import java.util.List;

/**
 * @Description TODO
 * @Author anTi
 * @Date 2021-2-26
 */
public interface SysAppService {
    void add(SysAppParam sysAppParam);
    void delete(SysAppParam sysAppParam);
    void edit(SysAppParam sysAppParam);
    void updateAsDefault(SysAppParam sysAppParam);

    /**
     * 系统应用列表
     * @param sysAppParam 查询参数
     * @return 系统应用列表
     */
    List<SysApp> list(SysAppParam sysAppParam);
    /**
     * 获取用户应用相关信息
     * @param userId 用户id
     * @return 用户拥有的应用信息，格式：[{"code":"system","name":"系统应用","active":true}]
     */
    List<Dict> getLoginApps(Long userId);

    PageResult page(PageParam pageParam, SysAppParam sysAppParam);
}
